package org.xx.armory.docs;

import static org.apache.commons.lang3.StringUtils.trimToEmpty;

/**
 * 超链接元素。
 *
 * @author Haart
 */
public final class HyperLink
        extends Text {
    /**
     *
     */
    private static final long serialVersionUID = 1L;

    private final String url;

    /**
     * 构造超链接元素实例。
     *
     * @param className
     *         超链接元素的类名, 会被正规化。
     * @param text
     *         超链接元素的文本。
     * @param url
     *         超链接元素的目标地址, 会被正规化。
     */
    public HyperLink(
            final String className,
            final String text,
            final String url
    ) {
        super(className, text);

        this.url = trimToEmpty(url);
    }

    /**
     * 获取目标地址。
     *
     * @return 目标地址。
     */
    public final String getUrl() {
        return this.url;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public final String toString() {
        return "<a class=\"" + getClassName() + "\"" + " href=\"" + this.url + "\">" + getText() + "</a>";
    }
}
